JU

[Help] Actions com Escada

Por JulianoZN, 17 de jun. de 2019 em Scripts

9
2.1k
JulianoZNJ
17 de junho de 2019 às 14:56

Bom Dia, Boa Tarde, Boa Noite!

 

tentei fazer um script mais nao deu certo então resolvi pedi ajuda

 

Gostaria que funcionasse da seguinte forma

Ao colocar uma Boost stone em x local e puxar a alavanca ela desaparece

e logo em seguida aparece uma Escada por 10 ou 20 segundos apos isso a escada desaparecer

 

image.png.acad40d41d002a1c53d521feae0761e8.png

 

 

image.png.b948ea3c6debb647c73834be96ab7219.png

 

 

image.png.d42ffb56ad3a3c4d238fb09f389238e9.png

 

 

 

 

DONO: PokemonZbr  Online )

DONO: OtPokemonTvZ  Offline 

 

Links do meu jogo

https://pokemonzbr.com/ (Online)

 

https://otpokemontvz.com/ (Offline)

 

Eu sou:

Scripter: 5%

Mapper: 45%

Programador: 3%

Website : 54%

 

Meus Post

Spoiler

 

 

 

 

 

ZoRZ
21 de junho de 2019 às 03:05
local pos = {x = 0, y = 0, z = 0} -- pos do item boost
local pos2 = {x = 0, y = 0, z = 0} -- pos da escada
local itemid = {id = id da alavanca, item = numero do id do item, escada = numero da id da escada} -- Número do item

function onUse(cid, item, fromPosition, itemEx, pos)

	if itemid.id == getCreaturePosition(uid, pos[x.y.z], itemid.item) then
		setItemName(uid, getCreaturePosition(uid, pos2[x.y.z]), itemid.escada)
		doPlayerSendTextMessage(cid, "Foi criado uma escada, ela dura 20 segundos")
	else
		doPlayerSendTextMessage(cid, "Não pode ser criado a escada pois o item nao é esse")

	for tempo = 1, 20, 1 do
			doPlayerSendTextMessage(cid, "resta " .. tempo + 1)
		if tempo == 20 then
			doRemoveItem(uid, pos2[x.y.z])
		end
	end
  end
end

testa ae 

corrigido

Editado Junho 21 por ZikaLord

BlazerXB
21 de junho de 2019 às 10:09

 

Vamos lá para o que você está precisando, é bem simples eu já deixei tudo configurado para você fazer suas devidas adaptações.

 

TwyIHBJ.png

 

Script:

Cria um arquivo no seu servidor em data/action/ e coloque o nome do arquivo actionescada.lua e coloque o seguinte script:

Spoiler
local config = {
	stoneId  = 11449,
	escadaId = 1386,
	posStone  = { x = 2557, y = 2579, z = 7},
	posEscada = { x = 2560, y = 2579, z = 7},
	timer = 20*1000
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local stone = getTileItemById(config.posStone, config.stoneId, 1)
	if ( stone.uid > 0 ) then
		doRemoveItem(stone.uid)
		doCreateItem(config.escadaId, config.posEscada)		
		addEvent(function()
			doRemoveItem(getTileItemById(config.posEscada, config.escadaId).uid)
		end, config.timer)
	else
		return doPlayerSendCancel(cid, 'You did not put the stone in the place.')
	end
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	return true
end

 

 

No mesmo diretório abre o arquivo action.xml e coloque a seguinte tag:

<action actionid="69587" event="script" value="actionhouse.lua"/>

Onde está o actionid, você coloca esse numero na alavanca pelo rme map editor e

já deve funcionar tudo isso se você também configurou o script de acordo com a sua preferência. 

 

TwyIHBJ.png

 

Espero que dê para entender, a tabela config do script está bem explicativo para que você possa entender e alterar. 

 

Editado Junho 21 por BlazerX

JulianoZNJ
21 de junho de 2019 às 13:51
10 horas atrás, ZikaLord disse:
-- Script feito  NemesisZor (ZoR#9373) --
-- Por favor não remova os créditos    --
-- Alterado por NemesisZor (ZoR#9373)  -- 
-----------------------------------------
-------- não remover creditos!! ---------
-----------------------------------------

local pos = {x = 0, y = 0, z = 0} -- pos do item boost
local pos2 = {x = 0, y = 0, z = 0} -- pos da escada
local itemid = {id = id da alavanca, item = numero do id do item, escada = numero da id da escada} -- Número do item

function onUse(cid, item, fromPosition, itemEx, pos)

	if itemid.id == getCreaturePosition(uid, pos[x.y.z], itemid.item) then
		setItemName(uid, pos2[x.y.z], itemid.escada)
		doPlayerSendTextMessage(cid, "Foi criado uma escada, ela dura 20 segundos")
	else
		doPlayerSendTextMessage(cid, "Não pode ser criado a escada pois o item nao é esse")
end

	for tempo == 1, 20, 1 do
			doPlayerSendTextMessage(cid, "resta " .. tempo + 1)
				end
		if tempo == 20 then
			doRemoveItem(uid, pos2[x.y.z])
		end
	end

testa ae 

@JulianoZN

image.png.f120c70eee7723a2173686aefd60bcad.png

 

 

Quando removo 1 dos { = }

image.png.d2b9196b7a72db881aa4911213cbab0f.png

 

 

3 horas atrás, BlazerX disse:

 

Vamos lá para o que você está precisando, é bem simples eu já deixei tudo configurado para você fazer suas devidas adaptações.

 

TwyIHBJ.png

 

Script:

Cria um arquivo no seu servidor em data/action/ e coloque o nome do arquivo actionescada.lua e coloque o seguinte script:

  Mostrar conteúdo oculto

local config = {
	stoneId  = 11449,
	escadaId = 1386,
	posStone  = { x = 2557, y = 2579, z = 7},
	posEscada = { x = 2560, y = 2579, z = 7},
	timer = 20*1000
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local stone = getTileItemById(config.posStone, config.stoneId, 1)
	if ( stone.uid > 0 ) then
		doRemoveItem(stone.uid)
		doCreateItem(config.escadaId, config.posEscada)		
		addEvent(function()
			doRemoveItem(getTileItemById(config.posEscada, config.escadaId).uid)
		end, config.timer)
	else
		return doPlayerSendCancel(cid, 'You did not put the stone in the place.')
	end
	doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
	return true
end

 

 

No mesmo diretório abre o arquivo action.xml e coloque a seguinte tag:

<action actionid="69587" event="script" value="actionhouse.lua"/>

Onde está o actionid, você coloca esse numero na alavanca pelo rme map editor e

já deve funcionar tudo isso se você também configurou o script de acordo com a sua preferência. 

 

TwyIHBJ.png

 

Espero que dê para entender, a tabela config do script está bem explicativo para que você possa entender e alterar. 

 

vlw

BlazerXB
21 de junho de 2019 às 14:49
1 hora atrás, JulianoZN disse:

image.png.f120c70eee7723a2173686aefd60bcad.png

 

 

Quando removo 1 dos { = }

image.png.d2b9196b7a72db881aa4911213cbab0f.png

 

 

vlw

 

Deu erro? Se estiver tudo certinho, pode marcar como a melhor resposta e reputar,

assim os demais membros que estiverem com duvida podem visualizar melhor.

Editado Junho 21 por BlazerX

JulianoZNJ
21 de junho de 2019 às 14:51
1 minuto atrás, BlazerX disse:

Deu erro? Se estiver tudo certinho, pode marcar como a melhor resposta, assim os demais membros

Deu erro? Se estiver tudo certinho, pode marcar como a melhor resposta e reputar,

assim os demais membros que estiverem com duvida podem visualizar melhor.

Deu esse erro ai da print do "=="  e "=" then

BlazerXB
21 de junho de 2019 às 14:55
Melhor resposta
6 minutos atrás, JulianoZN disse:

Deu esse erro ai da print do "=="  e "=" then

Olhando o erro na resposta anterior e comparando o meu script,

esse erro não tem nada haver com o meu script esse erro é do script do ZikaLord, o meu eu testei e lhe garanto que funciona, o script que ele fez contem muitos erros de programar essa simples situação

Editado Junho 21 por BlazerX

JulianoZNJ
21 de junho de 2019 às 14:57
7 minutos atrás, BlazerX disse:

Olhando o erro na resposta anterior e comparando o meu script,

esse erro não tem nada haver com o meu script esse erro é do script do ZikaLord, o meu eu testei e lhe garanto que funciona, o script que ele fez contem muitos erros de programar essa simples situação

ata desculpa nao tinha visto

 

edit 1 Testando aqui

 

edit 2: Funcionou vlw ai mando REP+

Editado Junho 21 por JulianoZN

ZoRZ
21 de junho de 2019 às 16:17
1 hora atrás, JulianoZN disse:

ata desculpa nao tinha visto

 

edit 1 Testando aqui

 

edit 2: Funcionou vlw ai mando REP+

corrigido @JulianoZN

quais os erros da script @BlazerX comecei com script essa semana

Editado Junho 21 por ZikaLord